<?php

class Application_Model_Cores {

    private $dbTable = NULL;

    public function __construct() {
        $this->dbTable = new Application_Model_DbTable_Cores;
    }

    public function getAllCores() {
        $return = array();
        $db = $this->dbTable;
        $rows = $db->fetchAll()->toArray();

        foreach ($rows as $row) {
            $dao = new Application_Model_DAO_Cores();
            $dao->setIdCores($row['idCoresProduto']);
            $dao->setNomeCor($row['nomeCor']);
            $dao->setHex($row['hex']);

            $return[] = $dao;
        }
        return $return;
    }

    public function save(Application_Model_DAO_Cores $cor) {
        $db = $this->dbTable;
        $return = NULL;
        $id = $cor->getIdCores();

        $data = array(
            'nomeCor' => $cor->getNomeCor(),
            'hex' => $cor->getHex()
        );

        if (isset($id)) {
            $data['idCoresProduto'] = (int) $id;
            $return = $db->update($data, 'idCoresProduto = ' . (int) $id);
        } else {
            $return = $db->insert($data);
        }
        return $return;
    }

    public function delete(Application_Model_DAO_Cores $cor) {
        $db = $this->dbTable;
        $return = NULL;
        $return = (int) $db->delete('idCoresProduto = ' . (int) $cor->getIdCores());

        return $return;
    }

}

